// 初始化侧边栏选项卡功能
document.addEventListener('DOMContentLoaded', function() {
    // 设置初始高度
    adjustHeight();
    
    // 设置聊天选项卡为激活状态
    document.querySelector('.tab[data-tab="chat"]').classList.add('active');
    document.getElementById('chat-tab').classList.add('active');
    document.getElementById('knowledge-tab').classList.remove('active');
    
    // 为侧边栏选项卡添加点击事件监听器
    const sidebarTabs = document.querySelectorAll('.sidebar-tab');
    sidebarTabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // 移除所有侧边栏选项卡的激活状态
            sidebarTabs.forEach(t => t.classList.remove('active'));
            
            // 添加当前侧边栏选项卡的激活状态
            this.classList.add('active');
            
            // 获取选项卡对应的内容区域
            const tabId = this.getAttribute('data-content');
            
            // 隐藏所有侧边栏内容区域
            document.querySelectorAll('.sidebar-content').forEach(content => {
                content.style.display = 'none';
            });
            
            // 显示当前选项卡对应的内容区域
            document.getElementById(tabId).style.display = 'block';
        });
    });
    
    // 为内容区域选项卡添加点击事件监听器
    const contentTabs = document.querySelectorAll('.tab');
    contentTabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // 移除所有内容选项卡的激活状态
            contentTabs.forEach(t => t.classList.remove('active'));
            
            // 添加当前内容选项卡的激活状态
            this.classList.add('active');
            
            // 获取选项卡对应的内容区域
            const tabId = this.getAttribute('data-tab');
            
            // 隐藏所有内容区域
            document.querySelectorAll('.tab-content').forEach(content => {
                content.classList.remove('active');
            });
            
            // 显示当前选项卡对应的内容区域
            document.getElementById(`${tabId}-tab`).classList.add('active');
            
            // 在移动设备上点击选项卡后关闭侧边栏
            if (window.innerWidth < 768) {
                document.querySelector('.sidebar').classList.remove('open');
            }
        });
    });
    
    // 侧边栏切换
    const menuToggle = document.getElementById('menu-toggle');
    if (menuToggle) {
        menuToggle.addEventListener('click', function() {
            toggleSidebar();
        });
    }
    
    // 点击内容区域关闭侧边栏（仅在移动设备上）
    document.querySelector('.content-area').addEventListener('click', function() {
        if (window.innerWidth < 768) {
            document.querySelector('.sidebar').classList.remove('open');
        }
    });
    
    // 窗口大小改变时调整高度
    window.addEventListener('resize', adjustHeight);
    
    // 加载知识库和对话列表
    loadKnowledgeBases();
    loadConversations();
});

// 切换侧边栏函数
function toggleSidebar() {
    const sidebar = document.querySelector('.sidebar');
    sidebar.classList.toggle('open');
    
    // 如果有遮罩层，也切换它
    const overlay = document.querySelector('.sidebar-overlay');
    if (overlay) {
        overlay.classList.toggle('active');
    }
}

// 调整高度函数
function adjustHeight() {
    const headerHeight = document.querySelector('.header').offsetHeight;
    const mainContainer = document.querySelector('.main-container');
    const chatContainer = document.querySelector('#chat-tab .container.tech-card');
    const chatOutput = document.getElementById('chat-output');
    
    // 设置主容器高度
    mainContainer.style.height = `calc(100vh - ${headerHeight}px)`;
    
    // 判断是否是移动设备
    const isMobile = window.innerWidth <= 768;
    
    // 设置聊天容器高度
    if (chatContainer) {
        const paddingTop = parseInt(window.getComputedStyle(chatContainer).paddingTop);
        const paddingBottom = parseInt(window.getComputedStyle(chatContainer).paddingBottom);
        const containerHeight = isMobile ? 
            `calc(100vh - ${headerHeight}px - 2rem)` : 
            `calc(100vh - ${headerHeight}px - 4rem)`;
            
        chatContainer.style.height = containerHeight;
        
        // 计算并设置聊天输出区域高度（自适应剩余空间）
        if (chatOutput) {
            // 获取容器中其他元素的高度
            const containerHeader = chatContainer.querySelector('.container-header');
            const kbTags = chatContainer.querySelector('.kb-tags-container');
            const inputGroup = chatContainer.querySelector('.input-group');
            
            const headerHeight = containerHeader ? containerHeader.offsetHeight : 0;
            const kbTagsHeight = kbTags ? kbTags.offsetHeight : 0;
            const inputHeight = inputGroup ? inputGroup.offsetHeight : 0;
            
            // 计算其他元素的总高度（包括边距）
            const otherElementsHeight = headerHeight + kbTagsHeight + inputHeight + 
                                       paddingTop + paddingBottom + 30; // 30px为元素间的margin
            
            // 设置聊天输出区域的高度
            const availableHeight = parseInt(containerHeight) - otherElementsHeight;
            if (availableHeight > 200) { // 确保最小高度
                chatOutput.style.flex = '1';
            }
        }
    }
}